<?php
if(file_exists("serials.db")){
	$db = new SQlite3("serials.db");
} else {
	echo "\e[1m[\e[1;31m!\e[0m\e[1m] Файл \e[32mserials.db\e[0m \e[1;31mне найден\e[0m!\nЗапустите \e[1;31mparse.php\e[0m для создания базы!\n";
	exit(1);
}

function printSeries($response){
	echo("\n");
	echo "\e[1;32mНазвание\e[0m: {$response['title']}\n";
	echo "\e[1;32mЖанр\e[0m: {$response['genre']}\n";
	echo "\e[1;32mДата выпуска\e[0m: {$response['date']}\n";
	echo "\e[1;32mОригинал\e[0m: {$response['original']}\n";
	echo "\e[1;32mОписание\e[0m: {$response['desc']}\n";
	echo "\e[1;32mСсылка на плеер\e[0m: \e[34m{$response['link']}\e[0m\n\n";
	
	echo "\e[1;33m>\e[0m Хотите получить список с прямыми ссылками на все эпизоды данного сериала? \e[1m[Y/n]\e[0m: ";
	$save = readline();
	if($save == "Y" || $save == "y"){
		$page = file_get_contents($response['link']);
		$lines = explode("\n", $page);
		$line = explode("seasons:", $lines[438]);
		$json = $line[1];
		unset($page, $lines, $line);
		if(!file_exists("lists") && !is_dir("lists")){
			mkdir("lists");
		}
		$list = fopen("lists/{$response['title']}.list", "w");
		$js = json_decode($json, true);
		forEach($js as $season){
			forEach($season['episodes'] as $episode){
				fwrite($list, $episode['title']." => ".$episode['hls']."\n");
			}
		}
		fclose($list);
		echo "\e[1mБыл создан список с ссылками на эпизоды, и он в папке \e[34mlists\e[0m.\n";
	} else {
		echo("\e[1;32mХорошо.\e[0m Тогда, в таком случае для просмотра сериала вам нужно будет открыть \e[1m\e[1;32mссылку на плеер\e[0m в браузере.\n");
	}
	exit(0);
}

A:
printf(" Здраствуй, \e[34m[username]\e[0m!\n Что сегодня ищем?\n");
echo "\e[32m=======================\e[0m\n";
echo "1. Поиск по названию\n";
echo "2. Поиск по жанру\n";
echo "3. Случайный сериал\n";
echo "\e[32m=======================\e[0m\n";
echo "\e[1;33m>\e[0m Выбери тип поиска \e[1m[1/2/3]\e[0m: ";
$type = readline();

if($type == "1") {
	
	echo("\nВы выбрали: \e[1m\e[1;32mПоиск по названию.\e[0m\n");
	echo("Введите название: ");
	$title = readline();
	
	$i = 1;
	$result = $db->query("SELECT title FROM serials WHERE title LIKE '%".$title."%';");
	$list = [];
	while($fetch = $result->fetchArray(SQLITE3_ASSOC) ) {
		echo $i.". ".$fetch['title']."\n";
		$list[$i] = $fetch['title'];
		$i++;
	}
	//проверка на наличие хоть чего-то.
	if(!$list == []){
		echo "Введите номер названия сериала: ";
		$select = readline();
	} else {
		echo "\e[1m\e[1;31mУвы!\e[0m Ничего не найдено!\n";
		exit(0);
	}
	
	if(isset($list[$select])){
		$resp = $db->query("SELECT * FROM serials WHERE title = '".$list[$select]."' ");
		printSeries( $resp->fetchArray(SQLITE3_ASSOC) );
	} else {
		echo "Увы! Ничего не найдено!\n";
		exit(0);
	}
	
} elseif($type == "2") {
	
	echo("\nВы выбрали: \e[1m\e[1;32mПоиск по жанру.\e[0m\n");
	echo("Введите жанр: ");
	$genre = readline();
	
	$i = 1;
	$result = $db->query("SELECT title FROM serials WHERE genre LIKE '%".$genre."%';");
	$list = [];
	while($fetch = $result->fetchArray(SQLITE3_ASSOC) ) {
		echo $i.". ".$fetch['title']."\n";
		$list[$i] = $fetch['title'];
		$i++;
	}
	//проверка на наличие хоть чего-то.
	if(!$list == []){
		echo "Введите номер названия сериала: ";
		$select = readline();
	} else {
		echo "\e[1m\e[1;31mУвы!\e[0m Ничего не найдено!\n";
		exit(0);
	}
	
	if(isset($list[$select])){
		$resp = $db->query("SELECT * FROM serials WHERE title = '".$list[$select]."' ");
		printSeries( $resp->fetchArray(SQLITE3_ASSOC) );
	} else {
		echo "Увы! Ничего не найдено!\n";
		exit(0);
	}
	
} elseif($type == "3") {
	
	echo("\nВы выбрали: \e[1m\e[1;32mСлучайно.\e[0m\n");
	$i = 0;
	$result = $db->query("SELECT title FROM serials;");
	$list = [];
	while($fetch = $result->fetchArray(SQLITE3_ASSOC) ) {
		$list[$i] = $fetch['title'];
		$i++;
	}
	$resp = $db->query("SELECT * FROM serials WHERE title = '".$list[array_rand($list)]."' ");
	printSeries( $resp->fetchArray(SQLITE3_ASSOC) );
	
} else {
	echo "Саня, всё фигня, давай по новой!\n\n\n";
	sleep(2);
	goto A;
}
?>
